/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃  神兽保佑
 * 　　　　┃　　　┃  代码无bug　　
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 *
 * @Title: storeConfig
 * @Package vue-element01
 * @author Administrator
 * @date 2018/7/24/024 11:53
 * @version V1.0
 * @desc START
 */
'use strict';
import Vue from 'vue';
import Vuex from 'vuex';
import MthodName from './mthodName/testName.js';

Vue.use(Vuex);

let store = new Vuex.Store({
  // strict: process.env.NODE_ENV !== 'production',
  modules:
    {
      a: {
        namespace:true,
        state: {
          count: 0,
          info: {
            age: 0,
            name: '',
            address: ''
          }
        },
        //用来变更数据状态,所有的数据状态变更只能在这里进行
        mutations: {
          increment(state, val) {
            state.count = state.count + val;
          },
          decrement: (state, val) => {
            state.count = state.count - val;
          },
          addInfo(state, obj) {
            state.info.name = obj.name;
            state.info.age = obj.age;
            state.info.address = obj.address;
          }
        },
        //相当于vuex 的属性计算,当state发生变化的时候,回自动调用getter里面对应的方法
        getters: {
          addCount(state) {
            return state.count * 2;
          },
          getInfo(state) {
            return state.info.name + " , " + state.info.age + " , " + state.info.address;
          }
        },
        actions: {
          setInfo(context){
            console.log(context);
          }
        }
      }
    }
});
export default store;
